package junit.samples;

import junit.framework.*;

/**
 * Some simple tests.
 */
public class SimpleTest extends TestCase {

  protected int fValue1;
  protected int fValue2;

  protected void setUp() {
    fValue1 = 2;
    fValue2 = 3;
  }

  public static Test suite() {

		/*
		 * the type safe way
		 *
		TestSuite suite= new TestSuite();
		suite.addTest(
			new SimpleTest("add") {
				 protected void runTest() { testAdd(); }
			}
		);

		suite.addTest(
			new SimpleTest("testDivideByZero") {
				 protected void runTest() { testDivideByZero(); }
			}
		);
		return suite;
		*/

    /*
     * the dynamic way
     */
    return new TestSuite(SimpleTest.class);
  }

  public void testAdd() {
    double result = fValue1 + fValue2;
    // forced failure result == 5
    assertTrue(result == 6);
  }

  public void testDivideByZero() {
    int zero = 0;
    int result = 8 / zero;
  }

  public void testEquals() {
    assertEquals(12, 12);
    assertEquals(12L, 12L);
    assertEquals(new Long(12), new Long(12));

    assertEquals("Size", 12, 13);
    assertEquals("Capacity", 12.0, 11.99, 0.0);
  }

  public static void main(String[] args) {
    junit.textui.TestRunner.run(suite());
  }
}